The prior art has disclosed the various interactive draw graphic arrangements in which a graphic object may be created and edited, e.g., modified by an operator following a sequence of interactions with the systems. These systems generally include an all-points addressable display device which functions to display on its screen, graphic object creating actions or editing actions that the operator has selected and entered into the system by means of a keyboard or a mouse.
Interactive draw graphic systems may be physically packaged as a dedicated type stand-alone work station or be merely a group of separate, cable-connected personal computer system components that is executing a draw graphic program.
Most all prior art interactive draw graphic systems provide the operator with the ability to edit a graphic object once it has been created. The typical editing action provided by prior art systems include move, copy, rotate, stretch, shrink, scale up or down, and delete or erase. In the process of editing an object, the operator must select the particular edit action and for editing actions such as move, rotate, and scale, the operator must also provide a distance value to the system. In addition, in some more sophisticated draw graphic arrangements, the operator is provided with the ability to select a particular object from a group of individual objects that are displayed in an overlaid fashion on the screen.
The manner in which these interactive steps are implemented in the system is sometimes referred to as the operator interface and it is this interface that determines if the particular graphic application is "user friendly" which is of paramount importance in the personal computer market.
Some prior art systems permit the graphic editing actions that are available for editing complete graphic objects to also be used to edit a sub-object. The term sub-object refers to a line segment that exists between two defined points which are included in the definition of the main object. The end points of the subject object may or may not be connected to another line segment. If the object is a closed object, the the end points of each sub-object are connected. If, on the other hand, the object is open, then at least one of the end points is not connected.
A "joint" or a vertex is formed when two end points of different sub-objects are interconnected.
The ability of the system to edit sub-objects is important to the operator's efficiency, since it means that the object does not have to be re-drawn. Prior art sub-object graphic editing systems are somewhat limited in the kind of editing actions that are permitted once the sub-object has been selected. In these systems, movement of the sub-object, for example, causes the line segments that are attached to the end points of the moving sub-objects to "rubber band." For example, if the subject object is the right side of a square and the movement of the sub-object is to the right in a generally horizontal direction, the square is changed to a rectangle. If, on the other hand, the sub-object is moved vertically, the square is changed to a parallelogram. Similar type "rubber banding" actions occur with other editing actions in other type objects.
The rubber banding action occurs because the system has defined all of the sub-objects that define the main object as line segments between two points, each of which is represented by an x, y coordinate. If the point is moved by the editing action on a sub-object, the system redefines the end points for the sub-object and also for the attached line segments. If the operator merely wants to modify the appearance of the sub-object and not the total object, he must erase the sub-object and re-draw it. This is not very efficient from the operator standpoint and could be very frustrating if the sub-object is overlaid with a number of other graphic objects since it is quite easy to erase the wrong lines in the erasing process.
The present invention avoids the above problems of prior art draw graphic systems by providing the operator with the choice of whether or not to modify the rest of the object when the sub-object is being modified.